home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 6: Level 6 / 17 Bit - Level 6 (1998)(Epic Marketing)[!].iso / files / 4089.dms / 4089.adf / FileSelect / FileSelect.Anleitung next >
Text File  |  1992-05-14  |  12KB  |  252 lines

  1. FileSelect Version 2.0
  2. (C) André Wichmann / CLUSTER September 1990.
  3.     Posener Weg 4
  4.     5300 Bonn 1
  5.     Deutschland
  6.  
  7. Dieses Programm ist Freeware und darf frei kopiert, verändert oder benutzt
  8. werden, auch in kommerziellen Programmen.
  9.  
  10.  
  11. -----------------------------------------------------------------------------
  12.  
  13.       - FileSelect V2.0 -
  14.      ~~~~~~~~~~~~~~~~~~~~~
  15.  
  16. Und hier ist ein weiterer Filerequester in der nicht enden wollenden Serie...
  17. Aber dieses Mal mit einigen neuen Features !
  18.  
  19. PRO UND CONTRA
  20. ~~~~~~~~~~~~~~~
  21.  
  22.         Pro FileSelect V2.0:
  23.                 
  24.                 - Zeigt auch die Filegrößen an, ist aber trotzdem noch klein
  25.                   genug, um auf einen Lo-res Screen zu passen
  26.                 - Schnell und Kurz (Meiner Meinung nach !)
  27.                 - Die Farben können frei bestimmt werden
  28.                 - Eine Filterliste kann übergeben werden
  29.                 - Keine Beschränkungen (manche können nur 200 Files anzeigen
  30.                   warum eigentlich ?!?)
  31.                 - Alles ist mit Strukturen und einem eigenen include-file ge-
  32.                   löst worden (sehr Zukunftsfreundlich !)
  33.                 - Drei neue, hilfreiche Gadgets können jetzt ein oder ausge-
  34.                   schaltet werden: makedir, delete und rename (Habe ich schon
  35.                   oft vermißt !!!)
  36.                 - Natürlich kann man den Windowtitel, den Pfad und den
  37.                   Filenamen beim Aufruf angeben (Ich muß wohl nicht erwähnen,
  38.                   daß man FileSelect irgendwo auf dem Screen plazieren kann)
  39.                 - Wenn kein Screenpointer übergeben wird, sucht sich
  40.                   FileSelect automatisch den aktiven Screen heraus
  41.                 - Zurück bekommt man den Pfad, den Filenamen UND den vollen
  42.                   Namen
  43.                 - Device-Anzeige und Doppelklick werden unterstützt
  44.                 - Man braucht keine große, externe library wie ARP
  45.         
  46.         FileSelect V2.0 Contras:
  47.  
  48.                 - Die Routine muß wegen einigen Images im CHIPMEM liegen
  49.                   (wird demnächst verbessert)
  50.  
  51. WIE MAN ES BENUTZT
  52. ~~~~~~~~~~~~~~~~~~~
  53.  
  54. Man kann im 'Path'-Gadget einen beliebigen Pfad eingeben, den FileSelect
  55. nach drücken der Return-Taste anzuzeigen versucht.Zur Fileauswahl kann man
  56. entweder die Maus benutzen oder den Namen im 'File'-Gadget eingeben.Um den
  57. Requester zu beenden muß man entweder 'Okay' anklicken, einen Doppelklick
  58. auf einem File machen oder 'Cancel' anklicken.Die drei DOS-gadgets (makedir,
  59. delete und rename) machen das Gleiche wie die gleichnamigen CLI-Kommandos.
  60. Manchmal kann man diese Gadgets nicht anwählen; sie sind dann vom Hauptpro-
  61. gramm ausgeschaltet worden.Mit dem rechten Mausknopf kann eine Liste aller
  62. angeschlossenen Devices ausgegeben werden (df0:, ram: usw.).
  63.  
  64. WIE MAN FILESELECT AUFRUFT
  65. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  66.  
  67. Diese Version ist mit dem DevPac Assembler V2.14 geschrieben worden, aber
  68. wenn das linkfähige Programm 'FileSelect.o' benutzt wird, kann es in jeder
  69. Sprache aufgerufen werden (glaube ich zumindest).Der eigene Quellcode muß
  70. das include-file 'FileSelect.i' included haben, da dieses einige wichtige
  71. Strukturen und Konstanten definiert.Um FileSelect aufzurufen, muß das
  72. Adressregister a0 auf folgende Struktur zeigen:
  73.  
  74. NFS2_NewFileSelect      rs.b    0
  75. NFS2_LeftEdge           rs.w    1
  76. NFS2_TopEdge            rs.w    1
  77. NFS2_WindowTitle        rs.l    1
  78. NFS2_DefaultPath        rs.l    1
  79. NFS2_DefaultFile        rs.l    1
  80. NFS2_Screenptr          rs.l    1
  81. NFS2_GadgetFlags        rs.w    1
  82. NFS2_FirstFilter        rs.l    1
  83. NFS2_BackPen            rs.b    1
  84. NFS2_FilePen            rs.b    1
  85. NFS2_DirPen             rs.b    1
  86. NFS2_GadgetPen          rs.b    1
  87. NFS2_Reserved1          rs.l    1
  88. NFS2_Reserved2          rs.l    1
  89. NFS2_SIZEOF             rs.w    0
  90.  
  91. NFS2_LeftEdge.w         Dies ist die X-Position für das FileSelect Window.
  92.                         Mit NFS2_CENTREPOS (-1) wird es auf einem Hires-
  93.                         Screen zentriert.
  94. NFS2_TopEdge.w          Dies ist die Y-Position für das FileSelect Window.
  95.                         Mit NFS2_CENTREPOS (-1) wird es auf einem Hires-
  96.                         Screen zentriert.
  97. NFS2_WindowTitle.l      Ein Zeiger auf den Window-Titel, der mit einem Null-
  98.                         Byte abgeschlossen sein muß.Mit NFS2_DEFAULTTITLE (0)
  99.                         wird ein vorgegebener Titel benutzt.
  100. NFS2_DefaultPath.l      Ein Zeiger auf einen String, der in das Pfad-Gadget
  101.                         übertragen werden soll.Mit NFS2_NODEFAULT (0) wird
  102.                         kein Pfad vorgegeben.
  103. NFS2_DefaultFile.l      Ein Zeiger auf einen String, der in das File-Gadget
  104.                         übertragen werden soll.Mit NFS2_NODEFAULT (0) wird
  105.                         kein Filename vorgegeben.
  106. NFS2_Screenptr.l        Der Zeiger auf den Screen.NFS2_ACTIVESCREEN (0)
  107.                         bringt FileSelect dazu, sein Window auf dem aktuellen
  108.                         Screen anzuzeigen.
  109. NFS2_GadgetFlags.w      Dieses Flag schaltet die drei DOS-Gadgets makedir,
  110.                         delete und rename an bzw. aus.Mit NFS2_NOGADGETS (0)
  111.                         werden alle drei ausgeschaltet, mit NFS2_MAKEDIR (1),
  112.                         NFS2_DELETE (2) und NFS2_RENAME (4) einzelnd
  113.                         eingeschaltet.Beispiele:
  114.                         NFS2_MAKEDIR!NFS2_DELETE schaltet alle bis auf das
  115.                         Rename-Gadget an.
  116.                         NFS2_MAKEDIR!NFS2_DELETE!NFS2_RENAME schaltet alle
  117.                         DOS-Gadgets ein.
  118. NFS2_FirstFilter.l      Ein Zeiger, der auf die erste Struktur der Filter-
  119.                         Liste zeigt (siehe unten).Mit NFS2_NOFILTER (0)
  120.                         zeigt alle Files an.
  121. NFS2_BackPen.b          Der Pen, mit dem der Hintergrund gezeichnet werden
  122.                         soll.Mit NFS2_DEFAULTPEN (0) wird 1 (Weiß) benutzt.
  123. NFS2_FilePen.b          Der Pen für die Fileanzeige.Vorgegeben: 2 (Schwarz).
  124. NFS2_DirPen.b           Der Pen für dir Diranzeige.Vorgegeben: 3 (Orange).
  125. NFS2_GadgetPen.b        Der Pen für die Gadgets.Vorgegeben: 2 (Schwarz).
  126. NFS2_Reserved1.l        Auf Null setzen!
  127. NFS2_Reserved2.l        Auf Null setzen!
  128.  
  129. Man kann FileSelect eine Liste von Filtern übergeben,d.h. daß Files mit
  130. den angegebenen Endungen nicht angezeigt werden.Das kann sinnvoll sein,
  131. wenn man keine .info-, .iff-, .txt-files usw. angezeigt haben will.
  132. NFS2_FirstFilter sollte dann auf diese Struktur zeigen:
  133.  
  134. FS2F_FilterElement      rs.b    0
  135. FS2F_NextFilter         rs.l    1
  136. FS2F_FilterLength       rs.b    1
  137. FS2F_AdjustToWord       rs.b    1
  138. FS2F_Filter             rs.l    1
  139. FS2F_Reserved           rs.l    1
  140. FS2F_SIZEOF             rs.w    0
  141.  
  142. FS2F_NextFilter.l       Entweder ein Zeiger auf das nächste Element der
  143.                         Filterliste oder FS2F_LASTFILTER (0) um das Ende
  144.                         der Liste zu markieren.
  145. FS2F_FilterLength.b     Länge des Strings in bytes.
  146. FS2F_AdjustToWord.b     Unwichtig; zum Angleichen an die Wortgrenze.
  147. FS2F_Filter             Ein Zeiger auf den String, der die Endung darstellt.
  148. FS2F_Reserved           Auf Null setzen!
  149.  
  150. Wenn kein Guru aufgetaucht ist, wird daß Hauptprogramm folgende Struktur
  151. im Datenregister d0 zurückerhalten:
  152.  
  153. FS2_FileSelectReturn    rs.b    0
  154. FS2_Status              rs.w    1
  155. FS2_Path                rs.l    1
  156. FS2_File                rs.l    1
  157. FS2_FullName            rs.l    1
  158. FS2_Reserved1           rs.l    1
  159. FS2_Reserved2           rs.l    1
  160. FS2_SIZEOF              rs.w    0
  161.  
  162. FS2_Status.w            FS2_OKAY (0) bedeutet, daß der Benutzer das Okay-
  163.                         Gadget angeklickt hat.FS2_CANCEL (1) heißt das
  164.                         Gleiche für das Cancel-Gadget.FS2_WINDOWERR (3)
  165.                         bedeutet, daß FileSelect das Window nicht öffnen
  166.                         konnte (vermutlich wegen zu wenig CHIPMEM).
  167. FS2_Path.l              Ein Zeiger auf den Pfad.FS2_NOPATH (0) taucht dort
  168.                         nach CANCEL oder WINDOWER auf.
  169. FS2_File.l              Ein Zeiger auf den Filenamen.FS2_NOFILE (0) taucht
  170.                         dort nach CANCEL oder WINDOWERR auf.
  171. FS2_FullName.l          Ein Zeiger auf den vollen Namen (Pfad + Filename).
  172.                         FS2_NOFULLNAME (0) taucht dort nach CANCEL oder
  173.                         WINDOWERR auf.
  174. FS2_Reserved1.l         Normalerweise Null.
  175. FS2_Reserved2.l         Normalerweise Null.
  176.  
  177. FileSelect braucht sehr wenig Speicher, nur ein wenig CHIPMEM für das Window
  178. und pro angezeigtes File/Dir/Device 42 Bytes.
  179.  
  180. Um FileSelect in eigene Programme einzubauen gibt es zwei Möglichkeiten:
  181.  
  182. 1) Einfach den Quellcode an das Ende des Hauptprogrammes hängen und die
  183.    Include- und die Opt-Zeile löschen.
  184. 2) Mit blink an das Hauptprogramm anlinken.
  185.  
  186. Wenn FileSelect V2.0 benutzt wird sollte 'FileSelect.i' includet werden.
  187. Wenn es nicht gelinkt, sondern mit assembliert wird, werden folgende
  188. includes gebraucht:
  189.  
  190.                  include exec/exec_lib.i
  191.                  include exec/memory.i
  192.                  include intuition/intuition_lib.i
  193.                  include intuition/intuition.i
  194.                  include intuition/intuitionbase.i
  195.                  include graphics/graphics_lib.i
  196.                  include libraries/dos_lib.i
  197.                  include libraries/dos.i
  198.                  include libraries/dosextens.i
  199.  
  200.                  include FileSelect.i
  201.  
  202. Wenn FileSelect gelinkt werden soll, müssen im Hauptprogramm folgende
  203. Importe/Exporte definiert werden:
  204.  
  205.                   XREF   FileSelect
  206.                   XDEF   _IntuitionBase,_GfxBase,_DOSBase
  207.  
  208. Beim Aufruf müssen Intuition.library, Graphics.library und Dos.library
  209. offen sein.
  210.  
  211. Ich kann leider nicht sagen, wie man FileSelect in anderen Sprachen als
  212. Assembler benutzt, da ich keine Erfahrung mit solchen Dingen habe.Ich
  213. weiß nicht, ob Compiler mit meinem Include-file klarkommen, aber wenn
  214. man es nicht benutzt und FileSelect dazulinkt, müßte es eigentlich
  215. klappen.Ich hoffe, daß ich bald Post mit Tips bekomme !
  216.  
  217. FileSelect darf beliebig geändert oder erweitert werden, aber wenn große
  218. Änderungen gemacht werden, bitte ich darum, die neue Version zugeschickt
  219. zu bekommen (Ich schicke die Disk natürlich zurück!).Eigene verbesserte
  220. Versionen werden auch bald erscheinen.
  221.  
  222.                           ...AW 29/09/1990...
  223.                        Aragorn/CLUSTER rules !!!
  224.  
  225. -----------------------------------------------------------------------------
  226.  
  227. CLUSTER ist eine legale Programmierergruppe, die hauptsächlich auf dem Amiga
  228. arbeitet und Freeware produziert (vielleicht ein paar kommerzielle Programme
  229. später ?!?).
  230. CLUSTER ist mit den folgenden Mitgliedern im Januar 1989 gegründet worden:
  231.  
  232. André Wichmann, Guido Wegener, Martin Rosenkranz, Martin Baumann, Philipp
  233. Witkop, Stefan Kaspari, Stefan Lietzow und Giang Nguyen.
  234. Heute, am 29.09.1990, sind wir nur noch die Elite von damals:
  235.  
  236. André Wichmann       Assembler-Programmierer        (Aragorn !)
  237. Guido Wegener        C-Programmierer                (Wonko der Verständige !)
  238. Martin Mohr          Assembler/Floppy-Programmierer (X-tension !)
  239. Martin Rosenkranz    Grafik                         (Flex !)
  240. Philipp Witkop       Sound                          (Madison !)
  241.  
  242. Briefe sind immer willkommen !!! Schickt Bugs, neue Ideen, Geld, Disks,
  243. enthusiastische Fan-Briefe usw. an:
  244.  
  245.                      André Wichmann
  246.                      Posener Weg 4
  247.                      5300 Bonn 1
  248.                      Deutschland
  249.  
  250. Amiga - Die zweitbeste Maschine nach dem C64 !!!
  251.  
  252.